package pers.jassor.cfgbeans;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

import com.netflix.loadbalancer.IRule;

import pers.jassor_why.MyRibbonRule;


@Configuration	// 用来代替applicationContext.xml
public class ConfigBean {
	
	@Bean
	@LoadBalanced	// 负载均衡的客户端实现 -- 也就是nginx那个负载均衡的功能
	public RestTemplate getREsRestTemplate() {
		return new RestTemplate();
	}
	
//	@Bean
//	public UserService getUserservice() {
//		return new UserviceImpl();
//	}
//	<bean id="userService" class="pers.jassor.service.impl.userServiceImpl">
	

	// 自定义负载均衡规则
	@Bean
	public IRule myRule() {
		
		System.err.println("!!!!!!!!!!!!!!!!!!!!!!");
		
		// 下面的这个类必须是一个public的class,这样才能被框架加载到.
		// 当然,更稳健的方法,按照老师描述的,应当是再建一个配置类去.
		
		return new MyRibbonRule();
	}
	
}
